﻿using System;
namespace Producers.Etoimik.Xtee.Riik.Ee.Producer.Etoimik {
    
    
    public partial class JuriidilineIsik : global::Producers.Etoimik.Xtee.Riik.Ee.Producer.Etoimik.Isik, global::Producers.Etoimik.Xtee.Riik.Ee.Producer.Etoimik.IJuriidilineIsik {
        
        private System.Collections.Generic.List<global::Producers.Etoimik.Xtee.Riik.Ee.Producer.Etoimik.IJuriidilineIsik> @__organisatsiooniYksused = new System.Collections.Generic.List<global::Producers.Etoimik.Xtee.Riik.Ee.Producer.Etoimik.IJuriidilineIsik>();
        
        private System.Int64? @__vormKL;
        
        private System.DateTime? @__tegevusAlgusKP;
        
        private System.DateTime? @__tegevusLoppKP;
        
        public JuriidilineIsik() {
        }
        
        /// <summary>
        /// All parameters
        /// </summary>
        public JuriidilineIsik(
                    System.Collections.Generic.List<global::Producers.Etoimik.Xtee.Riik.Ee.Producer.Etoimik.IJuriidilineIsik> @organisatsiooniYksused, 
                    System.Int64? @vormKL, 
                    System.DateTime? @tegevusAlgusKP, 
                    System.DateTime? @tegevusLoppKP, 
                    System.Int64? @objektID, 
                    System.Collections.Generic.List<global::Producers.Etoimik.Xtee.Riik.Ee.Producer.Etoimik.IKontakt> @kontaktid, 
                    string @kood, 
                    string @koosnimi, 
                    string @nimi, 
                    System.Int64? @seisundKL, 
                    System.Int64? @versID, 
                    System.Collections.Generic.List<global::Producers.Etoimik.Xtee.Riik.Ee.Producer.Etoimik.IKohustis> @kohustised, 
                    System.DateTime? @algusKP, 
                    string @alustaja, 
                    System.DateTime? @loppKP, 
                    System.Collections.Generic.List<global::Producers.Etoimik.Xtee.Riik.Ee.Producer.Etoimik.IKonto> @kontod, 
                    System.Int64? @menetlusSubjektiLiikKL, 
                    string @muudeRiikideKoodid, 
                    System.Collections.Generic.List<System.Int64?> @tegevusalaKL, 
                    System.DateTime? @verAlgusKP, 
                    System.DateTime? @verLoppKP, 
                    System.DateTime? @koostamiseKP, 
                    System.Boolean? @ainultPohiandmed, 
                    System.DateTime? @sisestamiseKP, 
                    string @sisestaja, 
                    System.DateTime? @muutmiseKP, 
                    string @muutja, 
                    System.DateTime? @sulgemiseKP, 
                    string @markused, 
                    string @klientsysteemiID, 
                    System.DateTime? @karistusteYlevaatamiseKP, 
                    System.Collections.Generic.List<global::Producers.Etoimik.Xtee.Riik.Ee.Producer.Etoimik.IETHoiatus> @hoiatused, 
                    string @eelnevadKoosnimedCSV, 
                    System.Boolean? @onValideeritudAktuaalneVersioon) : 
                base(@objektID, @kontaktid, @kood, @koosnimi, @nimi, @seisundKL, @versID, @kohustised, @algusKP, @alustaja, @loppKP, @kontod, @menetlusSubjektiLiikKL, @muudeRiikideKoodid, @tegevusalaKL, @verAlgusKP, @verLoppKP, @koostamiseKP, @ainultPohiandmed, @sisestamiseKP, @sisestaja, @muutmiseKP, @muutja, @sulgemiseKP, @markused, @klientsysteemiID, @karistusteYlevaatamiseKP, @hoiatused, @eelnevadKoosnimedCSV, @onValideeritudAktuaalneVersioon) {
            this.@__organisatsiooniYksused = @organisatsiooniYksused;
            this.@__vormKL = @vormKL;
            this.@__tegevusAlgusKP = @tegevusAlgusKP;
            this.@__tegevusLoppKP = @tegevusLoppKP;
        }
        
        /// <summary>
        /// Copy Constructor
        /// </summary>
        protected JuriidilineIsik(IJuriidilineIsik @juriidilineIsik) : 
                base(@juriidilineIsik.ObjektID, @juriidilineIsik.Kontaktid, @juriidilineIsik.Kood, @juriidilineIsik.Koosnimi, @juriidilineIsik.Nimi, @juriidilineIsik.SeisundKL, @juriidilineIsik.VersID, @juriidilineIsik.Kohustised, @juriidilineIsik.AlgusKP, @juriidilineIsik.Alustaja, @juriidilineIsik.LoppKP, @juriidilineIsik.Kontod, @juriidilineIsik.MenetlusSubjektiLiikKL, @juriidilineIsik.MuudeRiikideKoodid, @juriidilineIsik.TegevusalaKL, @juriidilineIsik.VerAlgusKP, @juriidilineIsik.VerLoppKP, @juriidilineIsik.KoostamiseKP, @juriidilineIsik.AinultPohiandmed, @juriidilineIsik.SisestamiseKP, @juriidilineIsik.Sisestaja, @juriidilineIsik.MuutmiseKP, @juriidilineIsik.Muutja, @juriidilineIsik.SulgemiseKP, @juriidilineIsik.Markused, @juriidilineIsik.KlientsysteemiID, @juriidilineIsik.KaristusteYlevaatamiseKP, @juriidilineIsik.Hoiatused, @juriidilineIsik.EelnevadKoosnimedCSV, @juriidilineIsik.OnValideeritudAktuaalneVersioon) {
            this.@__organisatsiooniYksused = @juriidilineIsik.OrganisatsiooniYksused;
            this.@__vormKL = @juriidilineIsik.VormKL;
            this.@__tegevusAlgusKP = @juriidilineIsik.TegevusAlgusKP;
            this.@__tegevusLoppKP = @juriidilineIsik.TegevusLoppKP;
        }
        
        /// <summary>
        /// Copy Constructor
        /// </summary>
        public JuriidilineIsik(IIsik @isik) : 
                base(@isik) {
        }
        
        public virtual System.Collections.Generic.List<global::Producers.Etoimik.Xtee.Riik.Ee.Producer.Etoimik.IJuriidilineIsik> OrganisatsiooniYksused {
            get {
                return this.@__organisatsiooniYksused;
            }
            set {
                this.@__organisatsiooniYksused = value;
            }
        }
        
        public virtual System.Int64? VormKL {
            get {
                return this.@__vormKL;
            }
            set {
                this.@__vormKL = value;
            }
        }
        
        public virtual System.DateTime? TegevusAlgusKP {
            get {
                return this.@__tegevusAlgusKP;
            }
            set {
                this.@__tegevusAlgusKP = value;
            }
        }
        
        public virtual System.DateTime? TegevusLoppKP {
            get {
                return this.@__tegevusLoppKP;
            }
            set {
                this.@__tegevusLoppKP = value;
            }
        }
    }
}
